package cn.com.bob.library.service;

import cn.com.bob.library.entity.Book;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author 12948
* @description 针对表【book】的数据库操作Service
* @createDate 2023-06-30 08:27:12
*/
public interface BookService extends IService<Book> {


    /**
     * 查询所有图书
     * @param :
     * @return List<Book>
     */
    List<Book> queryAllBooks();

    /**
     * 查询可借阅图书
     * @param :
     * @return List<Book>
     */
    List<Book> queryAvailableBooks();

    /**
     * 查询缺货图书
     * @param :
     * @return List<Book>
     */
    List<Book> queryUnavailableBooks();

    /**
     * 添加图书
     * @param book:
     * @return void
     */
    Book addBook(Book book);

    /**
     * 删除图书
     * @param book:
     * @return void
     */
    void deleteBook(Book book);

    /**
     * 更新图书
     * @param book:
     * @return void
     */
    void updateMsg(Book book);

    /**
     * 根据书名查询图书
     * @param title:
     * @return List<Book>
     */
    List<Book> getBookByTitle(String title);

    /**
     * 借阅图书
     * @param book:
     * @return void
     */
    void borrowBook(Book book,String username);

    /**
     * 分页查询
     * @param :
     * @return IPage<Book>
     */
    IPage<Book> getBooksByPage(int pageNo, int pageSize);
}
